export type Moment = {
    value?: string;
}

export interface ConfigJsonStruct {
    author: string,
    packageName: string,
    moduleName: string,
    outPutDir: string,
    databaseUrl: string,
    userName: string,
    password: string,
    includes: string,
    controllerTemplatePath: string,
    entityTemplatePath: string,
    mapperTemplatePath: string,
    mapperXmlTemplatePath: string,
    serviceTemplatePath: string,
    serviceImplTemplatePath: string,
    useSql: boolean,
    sqlFilePath: string,
    genController: boolean,
    genEntity: boolean,
    genMapper: boolean,
    genMapperXml: boolean,
    genService: boolean,
    genServiceImpl: boolean,
    pathInfoMap: PathInfoMap
}

export interface PathInfoMap {
    entity: string,
    service: string,
    serviceImpl: string,
    mapperXml: string,
    controller: string
}

export const ConfigJsonDefault: ConfigJsonStruct = {
    author: "zhoup",
    packageName: "com.data.manager",
    moduleName: "",
    outPutDir: "",
    databaseUrl: "jdbc:mysql://localhost:3306/datacenter-v1?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&serverTimezone=Asia/Shanghai",
    userName: "root",
    password: "123456",
    includes: "data_domain",
    controllerTemplatePath: "/templates/ExampleController.java",
    entityTemplatePath: "/templates/Example.java",
    mapperTemplatePath: "/templates/ExampleMapper.java",
    mapperXmlTemplatePath: "/templates/ExampleMapper.xml",
    serviceTemplatePath: "/templates/ExampleService.java",
    serviceImplTemplatePath: "/templates/ExampleServiceImpl.java",
    useSql: false,
    sqlFilePath: "",
    genController: true,
    genEntity: false,
    genMapper: false,
    genMapperXml: false,
    genService: false,
    genServiceImpl: false,
    pathInfoMap: {
        entity: "",
        service: "",
        serviceImpl: "",
        mapperXml: "",
        controller: ""
    }
}
// pathInfoMap: {
//   entity: "",
//   service: "",
//   serviceImpl: "",
//   mapperXml: "",
//   controller: "com.data.manager.controller.auto"
// }